vim.loader.enable()

local jlog = require "config.logger"
jlog.setup_signal_handling()

-- 定义全局的安全加载函数
_G.safe_require = function(module)
    local ok, err = pcall(require, module)
    if not ok then
        jlog.log_error("加载 " .. module .. " 失败: " .. err, vim.log.levels.WARN)
        return nil
    end
    return err
end

-- 使用安全加载方式
local modules = {
    "config.symbols",
    "config.options",
    "config.folder",
    "config.keymaps",
    "config.lazy",
    "config.cmds",
    "config.switch_input",
    "config.start",
    "lsploader",
    "config.proto",
}

for _, module in ipairs(modules) do
    safe_require(module)
end
